#ifndef ADAM_IO_DATA_H
#define ADAM_IO_DATA_H

#include <QtCore>

// 研华IO模块数据
class CAdamIOData
{
public:
    // 模块1(ADAM-6050,12个DI,6个DO)
    quint32 usMd1FailedCount;   // 通信失败次数
    quint16 usMd1ConnError;     // 通信是否正常    0 - 通信正常   1 - 通信故障
    quint16 usMd1ReadedCount;   // 数据读取到总次数
    quint16 usMd1DIVal;         // 当前读取到的总DI值
    quint16 usMd1DOVal;         // 当前读取到的总DO值
    quint16 usMd1DIValLast;     // 上一次读取到的总DI值
    quint16 usMd1DOValLast;     // 上一次读取到的总DO值
    quint8 aMd1DIData[16];      // DI1-交流断路器合闸(1表示合闸)  DI2-交流断路器分闸(1表示分闸)  DI3-直流断路器合闸 DI4-直流断路器分闸  DI5-避雷器1闭合 DI6-避雷器1断开 DI7-避雷器2闭合 DI8-避雷器2断开 DI9-急停动作 DI10到DI12-保留
    quint8 aMd1DOData[16];      // DO1到DO6 - 保留

    // 模块2(ADAM-6060,6个DI,6个DO)
    quint32 usMd2FailedCount;   // 通信失败次数
    quint16 usMd2ConnError;     // 通信是否正常    0 - 通信正常   1 - 通信故障
    quint16 usMd2ReadedCount;   // 数据读取到总次数
    quint16 usMd2DIVal;
    quint16 usMd2DOVal;
    quint16 usMd2DIValLast;
    quint16 usMd2DOValLast;
    quint8 aMd2DIData[16];      // DI1到DI6 - 保留
    quint8 aMd2DOData[16];      // DO1 - 交流断路器分闸   DO2 - 直流断路器分闸   DO3 - 运行灯   DO4 - 故障灯   DO5到DO6 - 保留

    // 模块3(保留)
    quint32 usMd3FailedCount;   // 通信失败次数
    quint16 usMd3ConnError;     // 通信是否正常    0 - 通信正常   1 - 通信故障
    quint16 usMd3ReadedCount;   // 数据读取到总次数
    quint16 usMd3DIVal;
    quint16 usMd3DOVal;
    quint16 usMd3DIValLast;
    quint16 usMd3DOValLast;
    quint8 aMd3DIData[16];     // DI1到DI6 - 保留
    quint8 aMd3DOData[16];     // DO1到DO6 - 保留

    quint8 aAreaOverload;      // 台区是否过载    0 - 正常   1 - 过载

    quint8 aEmergStopCmd;      // 急停命令    0 - 无动作    1 - 急停命令
    quint8 aOpenAcBreakerCmd;  // 断开交流断路器命令    0 - 无动作   1 - 断开命令
    quint8 aOpenDcBreakerCmd;  // 断开直流断路器命令    0 - 无动作   1 - 断开命令

    quint16 usDevTemp[100];
    float   fDevTemp[100];
};

#endif //ADAM_IO_DATA_H
